1. Field of the Invention
This invention relates to electronic keyboards which consist of a number of switches or keys. More particularly, the invention relates to a key closure validation device and method for such a keyboard which prevents recognition of pseudo keys and validates a key closure for keycode transmission only after bounce and tease tests are passed.
2. Description of the Prior Art
Conventional keyboards frequently have a plurality of momentary mechanical contact keys. These are usually represented schematically as a switch matrix having rows and columns, although the actual physical arrangement is usually different. Keys are sequentially scanned to detect closures at a rate determined by hardware or, more recently, by microprocessor firmware. Because an operator may have more than one key down at any one time, it has been necessary to provide circuitry to determine which key closures are valid. So called "N-key rollover" keyboards have been developed to handle multiple key closures, but these have increased the need to distinguish between valid and invalid key closures. Such N-key matrices have heretofore used isolations diodes for each key in the matrix to prevent the occurrence of one type of problem, a possible "pseudo key" validation. An alternative method used to prevent occurrence of a possible pseudo key validation was to never validate more than two key closures at one time in the matrix. A third method was to validate multiple key closures only if they all appear in one column of the matrix with no concurrent key closures on other columns.
These prior art arrangements had disadvantages. Use of isolation diodes increased cost and likelihood of component failure. Use of the one-key-only or one-column-only validation criteria caused operator frustration and decreased throughput, where particularly speedy operators could, in fact, have valid keystrokes which would not be accepted under these criteria. While the one column test permitted multiple-key validation in one dimension (columns), its implementation in the prior art prevented multiple key validation in the other dimension (rows) within a single scan of the matrix.
Other prior art key closure validation circuits have also dealt with the problem of key bounce or chattering. The common approach to this problem has been to verify a key closure detection by checking for closure again after a fixed interval. The drawback of such a fixed interval is that different keys may have different bounce characteristics and such characteristics may change over time. A fixed interval fails to accomodate these differences.